﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Sylvain.Model;
using System.ComponentModel;

namespace Sylvain.Manager
{
   public interface ISylvainManager
   {
       #region Common Page Methods

       void InsertPageContent(int PageId, string PageContent, string UpdatedBy);
        string GetPageContent(int PageId);
        int GetPageId(string PageHandler);
       #endregion

        #region Contract

        void AddContract(Contract objContract);
        Contract DeleteContract(int ContractId);
        void EditContract(Contract objContract);
         List<Contract> GetAllContracts();
         Contract GetContractDescription(int id);
         #endregion

        #region News Section

         void AddNewsSection(NewsSection objNewsSection);
         void DeleteNewsSection(int Id);
         void EditNewsSection(NewsSection objNewsSection);
         List<NewsSection> GetAllNews();
         NewsSection GetLatestQuote(int tagid);
         NewsSection GetLatestPressRelease(int tagid);
         NewsSection GetLatestNews(int tagid);
         List<NewsSection> GetSearchDetails(string strSearch);
         #endregion


         #region Employees Section

         void AddEmployeesSection(EmployeesSection objEmployeesSection);
         void DeleteEmployeesSection(int Id);
         void EditEmployeesSection(EmployeesSection objEmployeesSection);
         List<EmployeesSection> GetAllEmployeesSection();
         EmployeesSection GetLatestCEOCorner(int tagid);
         EmployeesSection GetLatestWhatNew(int tagid);         
         List<EmployeesSection> GetEmployeesSearchDetails(string strSearch);

         List<Employee> GetAllEmployees();
         void AddEmployee(Employee objEmployee, string net_username, string net_password, string host);
         void EditEmployee(Employee objEmployee, string net_username, string net_password, string host);
         void DeleteEmployee(int Id);
         void ForgotPassword(string email, string username, string net_username, string net_password, string host);
         Employee GetLogin(string username, string password);
         #endregion


         #region Publications

         List<Publication> GetAllPublications();
         void AddPublication(Publication objPublication);
         void DeletePublication(int Id);
         void EditPublication(Publication objPublication);
         Publication GetCurrentPublication();
         Publication GetPublication(int Id);
         #endregion
    }
    /// <summary>
    /// Enum for News Section
    /// </summary>
   public enum Tag
   {

       [Description("News")]
       News = 1,
       [Description("Press Release")]
       PressRelease = 2,
       [Description("Quote of the Day")]
       Quote = 3
   }

   /// <summary>
   /// Enum for Employees Section
   /// </summary>
   public enum TagEmployees
   {

       [Description("CEO's Corner")]
       CEO_Corner = 1,
       [Description("What's New")]
       What_New = 2
   }

   public enum AppSession
   {
       CurrentUser, SearchText
   }
}
